#include "dialog.h"
#include <QApplication>
#include <QPushButton>  // 用于创建触发按钮

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 步骤1：创建一个“触发按钮”
    QPushButton triggerBtn("点击我，弹出非模态对话框", nullptr);
    triggerBtn.resize(300, 60);  // 按钮大小
    triggerBtn.show();           // 显示按钮

    // 步骤2：按钮点击 → 弹出非模态对话框
    QObject::connect(&triggerBtn, &QPushButton::clicked, [&]() {
        // 关键1：堆上创建 Dialog（避免栈变量“一闪而过”）
        Dialog* dialog = new Dialog(&triggerBtn);

        //  关键2：设置“关闭时自动销毁”，防止内存泄漏
        dialog->setAttribute(Qt::WA_DeleteOnClose);

        //  关键3：非模态显示（调用 show()，不阻塞当前线程）
        dialog->show();
    });

    return app.exec();
}
